1. Field of the Invention
The present invention relates to a technique for power-saving task processing. More particularly, the invention relates to a system, a method, and a computer program product for power-saving task processing that change dynamically the content or frequency of processor processes for a task. The invention is preferably applied to battery-powered apparatuses (e.g., robots).
2. Description of the Related Art
Conventionally, battery-powered robots are usually required to ensure complete execution of their tasks instructed. In other words, it is usual that the tasks of battery-powered robots are prohibited from terminating because of the lack or shortage of battery power before they are completed. In particular, with buttery-powered industrial robots, incomplete execution of task will cause serious malfunction. For example, incomplete execution of task leads directly to halt of manufacturing lines and/or generation of defective products.
As a result, conventionally, it is popular that the remaining battery power values required for completing specific tasks are stored in advance and then, the tasks are executed if the current battery power value is greater than the required power value and they are not executed if not.
FIG. 1 shows a prior-art battery-powered robot of this type. As shown in FIG. 1, the prior-art robot comprises an external device 100, a task choice/execution section 110, a remaining battery power detector 111, a battery 112, and a required battery power storage 113. The external device 100 includes a user input section 101, an external input (non-user input) section 102, and an output section 103.
The user input section 101 of the external device 100, which is formed by a remote controller, a keyboard, switch, or the like, receives a user input (i.e., instructions from the user) and transmits the same to the task choice/execution section 110.
The external input section 102 of the external device 100, which is formed by a sensor, a camera, a communication means, or the like, receives an external input (i.e., information about the circumstances of the robot or information from remote points (not shown in FIG. 1)) and transmits the same to the task choice/execution section 110.
The task choice/execution section 110 chooses a task to be executed from the information given by the user input section 101 or the external input section 102. The section 110 reads out the current power value from the remaining battery power detector 111 and the required battery power value for executing the task or tasks thus chosen from the required battery power storage 113. Then, the section 110 compares these two values thus read out and judges whether or not the task thus chosen is executable. If the task chosen is judged executable, the section 110 starts executing the task and transmits necessary instructions corresponding to the task to the output section 103.
The output section 103 outputs a specific action or motion of the robot according to the instruction from the section 110. The device 103 is, for example, formed by an image-displaying device, a sound-emitting device, a motor, an actuator, and/or relay.
The remaining battery power detector 111 monitors the state of charge of the battery 112. The detector 111 detects the remaining power of the battery 112 and then, sends the remaining power value to the section 110 as the answer to the inquiry made by the section 110.
The required battery power storage 113 stores the minimum values of battery power of the battery 112 required for executing specific tasks in the form of table. The storage 113 sends the require power value to the section 110 as the answer to the inquiry made by the section 110.
The following Table 1 shows an example of the table that includes two items, the “content of task” and the “required battery power for complete execution”.
TABLE 1REQUIRED BATTERY POWER FORCONTENT OF TASKCOMPLETE EXECUTION (%)A30B20C10......N25
As seen from Table 1, each of the tasks A, B, C, . . . , and N has its own required battery power that specifies the minimum value of battery power. If the task choice/execution section 110 makes an inquiry to the storage 113 while setting one of the tasks A, B, C, . . . , and N as a key, the storage 113 makes and sends an answer about the required battery power for the corresponding task to the section 110.
Next, the operation flow of the prior-art robot shown in FIG. 1 is explained below with reference to FIG. 2.
In the step S101, the information from the user input section 101 and/or the external input section 102 is transmitted to the task choice/execution section 110. In response this information, the section 10 chooses a specific task to be executed for performing a corresponding operation of the robot.
In the step S102, the section 110 makes an inquiry about the current battery power of the battery 112 to the required battery power detector 111. In response to this, the detector 111 makes an answer to the inquiry and sends it to the section 110.
In the step S103, the section 110 makes an inquiry about the required battery power for executing the task selected in the step S101 to the storage 113. Then, the storage 113 makes an answer to the inquiry and sends it to the section 110. Thus, the corresponding data to the task is extracted by the section 110.
In the step S104, the section 110 compares the current battery power from the detector 111 with the required battery power from the storage 113. If the current battery power is greater than the require battery power, i.e., if the answer in the step S104 is “YES”, the section 110 judges the task chosen executable. Thereafter, the section 110 executes the task completely in the step S105 and the flow is finished. If the current battery power is not greater than the require battery power, i.e., if the answer in the step S104 is “NO”, the section 110 judges the task chosen not executable. Thereafter, the section 110 does not execute the task, i.e., the step S105 is not performed, and the flow is finished.
In this way, with the prior-art robot of FIG. 1, the task chosen in the step S101 can be completely executed in the robot until the remaining power of the battery 112 reaches its limit.
With the prior-art robot shown in FIGS. 1 and 2, the content of the task to be executed is not changed according to the remaining power of the battery 112. There is no consideration that the content of the task is changed dependent of the magnitude or level of the remaining battery power.
The above-described prior-art robot has the following problems.
First, the task chosen in the step S101 needs to be always executed completely and correctly. Therefore, if the remaining battery power is lower than a specific limit value, execution of the tasks is suddenly stopped. In this case, the robot is not available or usable unless the battery 113 is sufficiently recharged.
Second, in contrast, if the remaining battery power is equal to or larger than the specific limit value, it is important that required or chosen tasks are executed correctly and completely as instructed. Therefore, the content of each task to be executed is always the same regardless of the remaining battery power. There is no consideration that the content of each task is changed to save the power of the battery 112 during execution of tasks.